home *** CD-ROM | disk | FTP | other *** search
- ***************************************************************************
-
- ****************
- * Header du système (TOS&DOLMEN)
-
- RSRESET
-
- sys_hissp rs.w 1 ;poids fort de la pile
- sys_version rs.w 1 ;numéro de version de l'OS
- ;&poids faible de la pile
- sys_reset rs.l 1 ;pointeur sur le début du
- ;code du boot
- sys_os_start rs.l 1 ;pointeur sur le début du
- ;système
- sys_os_end rs.l 1 ;pointeur sur la fin des vars
- ;du système (avant la TPA)
- sys_shell rs.l 1 ;Pointeur sur le SHELL
- sys_gem_magic rs.l 1 ;Adresse MAGIC (pointe sur
- ; $87654321,os_end,os_exec)
- ;pour TOS
- ;ou valeur magique ($CAFEFADE)
- ;pour Dolmen
- sys_date rs.l 1 ;date du système
- sys_pal rs.w 1 ;flag langue
- sys_sys_date rs.w 1 ;date au format GEMDOS
-
- sys_root rs.l 1 ;Pointeur sur le Pool GEMDOS
- sys_kbshift rs.l 1 ;pointeur sur les touches mortes (TOS)
- sys_run rs.l 1 ;pointeur sur la basepage en cours
- sys_sysvars rs.l 1 ;offset aux variables DOLMEN
- ;ou nul sous TOS
- sys_header rs.l 0 ;offset du header
-
- ****************
- * Flags pour la ligne de command:
- * COMMENT HEAD=xx+xx+xx
-
- FastLoad equ %001
- FastPrg equ %010
- FastMem equ %100
-
- ****************
- * header de programme
- RSRESET
-
- prg_header rs.w 1
- prg_text rs.l 1
- prg_data rs.l 1
- prg_bss rs.l 1
- prg_symbol rs.l 1
- prg_resvd rs.b 10
-
- ****************
- * Structure d'une basepage
- RSRESET
- p_lowtpa rs.l 1
- p_hitpa rs.l 1
- p_tbase rs.l 1
- p_tlen rs.l 1
- p_dbase rs.l 1
- p_dlen rs.l 1
- p_bbase rs.l 1
- p_blen rs.l 1
- p_dta rs.l 1
- p_parent rs.l 1
-
- rs.l 1
-
- p_env rs.l 1
-
- hdl_stdin rs.b 1
- hdl_stdout rs.b 1
- hdl_aux rs.b 1
- hdl_prn rs.b 1
- rs.b 3
-
- ddrive rs.b 1
- rs.b 8
-
- uu rs.b 40
-
- save_d0 rs.l 1
- save_a3 rs.l 1
- save_a4 rs.l 1
- save_a5 rs.l 1
- save_a6 rs.l 1
- save_a7 rs.l 1
- cmdcnt rs.b 1
- cmdlin rs.b 127
-
- basepage_len rs.l 0 ;256 bytes
-
- ****************
- * Liste des erreurs GEMDOS
-
- EINVFN equ -32 ;invalid function
- EFILNF equ -33 ;file not found
- EPTHNF equ -34 ;path not found
- ENHNDL equ -35 ;no more handles
- EACCDN equ -36 ;access denied
- EIHNDL equ -37 ;invalid handle
- ENSMEM equ -39 ;insufficient memory
- EIMBA equ -40 ;invalid memory block address
- EDRIVE equ -46 ;invalid drive specification
- EXDEV equ -48 ;cross device rename
- ENMFIL equ -49 ;no more files (from Fsnext)
- ELOCKED equ -58 ;record is locked already
- ENSLOCK equ -59 ;invalid lock removal request
- ERANGE equ -64 ;range error
- ENAMETOOLONG equ -64 ;a filename component is too long
- EINTRN equ -65 ;internal error
- EPLFMT equ -66 ;invalid program load format
- ENOEXEC equ -66 ;idem
- EGSBF equ -67 ;memory block growth failure
- ELOOP equ -80 ;too many symbolic links
-
- ****************
-
- Pterm0 EQU $0000
- Cconin EQU $0102
- Cconout EQU $0204
- Cauxin EQU $0302
- Cauxout EQU $0404
-
- Cprnout EQU $0504
- Crawio EQU $0604
- Crawcin EQU $0702
- Cnecin EQU $0802
-
- Cconws EQU $0906
- Cconrs EQU $0A06
- Cconis EQU $0B02
- Dsetdrv EQU $0E04
- Cconos EQU $1002
- Cprnos EQU $1102
- Cauxis EQU $1202
- Cauxos EQU $1302
-
- Maddalt EQU $140a
- Srealloc EQU $1506
-
- Dgetdrv EQU $1902
-
- Fsetdta EQU $1A06
- Super EQU $2006
- Tgetdate EQU $2A02
- Tsetdate EQU $2B04
- Tgettime EQU $2C02
- Tsettime EQU $2D04
-
- Fgetdta EQU $2F02
- Sversion EQU $3002
- Ptermres EQU $3100
-
- Dfree EQU $3608
- Dcreate EQU $3906
- Ddelete EQU $3A06
- Dsetpath EQU $3B06
- Fcreate EQU $3C08
- Fopen EQU $3D08
- Fclose EQU $3E04
- Fread EQU $3F0c
-
- Fwrite EQU $400c
- Fdelete EQU $4106
- Fseek EQU $420a
- Fattrib EQU $430a
-
- Mxalloc EQU $4408
-
- Fdup EQU $4504
- Fforce EQU $4606
- Dgetpath EQU $4708
- Malloc EQU $4806
- Mfree EQU $4906
-
- Mshrink EQU $4A0c
- Pexec EQU $4B10
- Pterm EQU $4C00
-
- Fsfirst EQU $4E08
- Fsnext EQU $4F02
- Frename EQU $560c
- Fdatime EQU $570a
- Flock EQU $5c12
-
-
- ****************
-
- GEM: MACRO
-
- move #\1>>8,-(sp)
- trap #1
-
- add #\1&$ff,sp
-
- ENDM
-
- ****************
-
- ***************************************************************************
-